home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 41 / Amiga Format CD41 (1999-06)(Future Publishing)(GB)[!][issue 1999-07].iso / -seriously_amiga- / misc / notes / english / basskey.file < prev    next >
Text File  |  1999-04-19  |  43KB  |  1,410 lines

  1. /* subprogramm for Notes.pprx */
  2.  
  3. signal on halt
  4. signal on break_c
  5. signal on break_e
  6. signal on break_d
  7. call ppm_SetStyle(N)
  8. call ppm_SetMagMode(250)
  9. call ppm_UpdateScreen()
  10.  
  11. noteneingabe:
  12.     sysform = "choosen notesystem:2"'0a'x"number of accident.:2"'0a'x"smallest noteworth:4"
  13.     systemform = ppm_Getform("Please give in ... (nothing=BREAK)", 3, sysform)
  14.     if systemform = '' then exit_msg("Break!")
  15.     parse var systemform systemart '0a'x vz '0a'x xgrd
  16.     if vz == '' then vz = 0
  17.     select
  18.      when systemart == '2' then zdist = 4
  19.      when systemart == '1v' then zdist = 2
  20.      when systemart == '1b' then zdist = 2
  21.      when systemart == '' then exit_msg("Break!")
  22.      when vz == '' then exit_msg("Break!")
  23.      otherwise noteneingabe()
  24.     end
  25.  
  26.     zdist2 = zdist-2
  27.  
  28.     select
  29.      when xgrd == '1' then xg =0.7
  30.      when xgrd == '2' then xg =1.4
  31.      when xgrd == '4' then xg =2.8
  32.      when xgrd == '8' then xg =5.6
  33.      when xgrd == '16' then xg =11.2
  34.      when xgrd == '' then exit_msg("Break!")
  35.      otherwise noteneingabe()
  36.     end
  37.  
  38.    /* pointmessure of the notes */
  39.    notepkt = 26
  40.    call ppm_SetJustification(0)
  41.  
  42.    zz = 0 /* linecounter (german=Zeilenzähler) */
  43.    notex = (2+(vz*0.175))
  44.    page = ppm_CurrentPage()
  45.  
  46. pfad:
  47.    do
  48.            eingabe = ppm_GetFileName("Pleace choose the notescriptfile  ...", "Notes:")
  49.            res = OPEN(notenfile, eingabe, 'R')
  50.            if res == 0 then
  51.              do
  52.                  fres = ppm_inform(2,"Error in input or file does'nt exist !!!","Repeat","Break")
  53.                  if fres == 0 then pfad()
  54.                  else exit_msg("Break!")
  55.              end
  56.            call ppm_ShowStatus("OK, I'm working ...")
  57.            auslesen(notenfile)
  58.    end
  59.  
  60.     /* x-distance of the notes  */
  61. auslesen:
  62.         do
  63.           parse arg file
  64.           noten = READCH(file, 4000)
  65.           i=1
  66.           do forever
  67.             nw = word(noten, i)
  68.             nn = word(noten, i+1)
  69.             al = word(noten, i+2)
  70.             if nw == 'P' then nw = 'p'
  71.             if nw == 'D' then nw = 'd'
  72.             if nw == 'C' then nw = 'c'
  73.             if nw == 'L' then nw = 'l'
  74.             if nw == 'M' then nw = 'm'
  75.             if nn == 'L' then nn = 'l'
  76.             if nw == 'J' then nw = 'j'
  77.             if nw == 'END' then nw = 'end'
  78.             select
  79.               when al == (X2C(4e0a)) then al = 'n'
  80.               when al == (X2C(6e0a)) then al = 'n'
  81.               when al == (X2C(300a)) then al = '0'
  82.               otherwise exit_msg("There was an error!")
  83.             end
  84.  
  85.             select
  86.               when nn=='DB1' then nn = 'Db1'
  87.               when nn=='GB1' then nn = 'Gb1'
  88.               when nn=='BB1' then nn = 'Bb1'
  89.               when nn=='AB1' then nn = 'Ab1'
  90.               when nn=='DB2' then nn = 'Db2'
  91.               when nn=='EB2' then nn = 'Eb2'
  92.               when nn=='BB2' then nn = 'Bb2'
  93.               when nn=='GB2' then nn = 'Gb2'
  94.               when nn=='AB2' then nn = 'Ab2'
  95.               when nn=='DB3' then nn = 'Db3'
  96.               when nn=='EB3' then nn = 'Eb3'
  97.               when nn=='BB3' then nn = 'Bb3'
  98.               when nn=='GB3' then nn = 'Gb3'
  99.               when nn=='AB3' then nn = 'Ab3'
  100.               otherwise NOP
  101.             end
  102.  
  103.             call auswahl()
  104.             i=i+3
  105.           end
  106.         end
  107.  
  108. auswahl:
  109. do
  110.     select
  111.       when nw == 'j' then do
  112.                           zz = 0   /* linecounter */
  113.                           notex = (2+(vz*0.175))
  114.                           return
  115.                           end
  116.       when nw == 'end' then
  117.         do
  118.             call ppm_ClearStatus()
  119.             exit_msg("Ready!")
  120.         end
  121.       when nw == 's' then
  122.           do
  123.           xw = xg/16
  124.           nw='x'
  125.           yv = 0
  126.           end
  127.       when nw  == 'S' then
  128.           do
  129.           xw = xg/16
  130.           nw='X'
  131.           yv = 0.47
  132.           end
  133.       when nw == 'e' then
  134.           do
  135.           xw = xg/8
  136.           nw='e'
  137.           yv = 0
  138.           end
  139.       when nw == 'E' then
  140.           do
  141.           xw = xg/8
  142.           nw='E'
  143.           yv = 0.47
  144.           end
  145.       when nw == 'q' then
  146.           do
  147.           xw = xg/4
  148.           nw='q'
  149.           yv = 0
  150.           end
  151.       when nw == 'Q' then
  152.           do
  153.           xw = xg/4
  154.           nw='Q'
  155.           yv = 0.47
  156.           end
  157.       when nw == 'h' then
  158.           do
  159.           xw = xg/2
  160.           yv = 0
  161.           end
  162.       when nw == 'H' then
  163.           do
  164.           xw = xg/2
  165.           yv = 0.47
  166.           end
  167.       when nw == 'w' then
  168.           do
  169.           xw = xg
  170.           nw='w'
  171.           yv = 0
  172.           end
  173.       when nw == 'W' then
  174.           do
  175.           xw = xg
  176.           nw='W'
  177.           yv = 0.47
  178.           end
  179.  
  180.      /* 2 eigth- or sixteenthnotes join together by a beam(fat line) */
  181.  
  182.       when nw=='m' then
  183.           do
  184.             call ppm_SetEdit(boxid)
  185.             call ppm_SelectBoxText()
  186.             boxtxt=ppm_GetBlockText(0)
  187.             btb=word(boxtxt,1)
  188.             select
  189.                 when btb=='e' then
  190.                 do
  191.                   fbx=0.45
  192.                   fby=0.12
  193.                   newtxt='q'
  194.                   balk=1
  195.                 end
  196.                 when btb=='E' then
  197.                 do
  198.                   fbx=0.145
  199.                   fby=0.73
  200.                   newtxt='Q'
  201.                   balk=1
  202.                 end
  203.                 when btb=='x' then
  204.                 do
  205.                   fbx=0.45
  206.                   fby=0.12
  207.                   newtxt='q'
  208.                   balk=2
  209.                 end
  210.                 when btb=='X' then
  211.                 do
  212.                   fbx=0.145
  213.                   fby=0.73
  214.                   newtxt='Q'
  215.                   balk=2
  216.                 end
  217.                 otherwise
  218.                 do
  219.                     call ppm_EndEdit()
  220.                     call ppm_Inform(1,"Only eight or sixteenth are able to merge!!!","OK")
  221.                     notenwert()
  222.                 end
  223.             end
  224.             call ppm_Cut()
  225.             call ppm_UnBlock()
  226.             call ppm_EndEdit()
  227.             call ppm_TextIntoBox(boxid, newtxt)
  228.             boxposb=ppm_GetBoxPosition(boxid)
  229.             boxbx=word(boxposb,1)
  230.             boxby=word(boxposb,2)
  231.             if boxbosbx <= 3 then
  232.             do
  233.                 call ppm_Inform(1,"Merge not accross the lineend !!!","OK")
  234.                 notenwert()
  235.             end
  236.             firstbox = boxid - 1
  237.             do forever
  238.               info = ppm_GetBoxInfo(firstbox)
  239.               type = word(info,1)
  240.               if type ~= "Text" then firstbox = firstbox - 1
  241.               else break
  242.             end
  243.             curbox=ppm_ArtFirstBox(firstbox)
  244.             call ppm_SetEdit(curbox)
  245.             call ppm_SelectBoxText()
  246.             boxtxt=ppm_GetBlockText(0)
  247.             bta=word(boxtxt,1)
  248.             select
  249.                 when bta=='e' then
  250.                 do
  251.                   fax=0.39
  252.                   fay=0.12
  253.                   newtxt='q'
  254.                 end
  255.                 when bta=='E' then
  256.                 do
  257.                   fax=0.085
  258.                   fay=0.73
  259.                   newtxt='Q'
  260.                 end
  261.                 when bta=='x' then
  262.                 do
  263.                   fax=0.39
  264.                   fay=0.12
  265.                   newtxt='q'
  266.                 end
  267.                 when bta=='X' then
  268.                 do
  269.                   fax=0.085
  270.                   fay=0.73
  271.                   newtxt='Q'
  272.                 end
  273.                 otherwise
  274.                 do
  275.                     call ppm_EndEdit()
  276.                     call ppm_Inform(1,"Only eight or sixteenth are able to merge!!!","OK")
  277.                     notenwert()
  278.                 end
  279.             end
  280.             if bta ~= btb then
  281.             do
  282.                 call ppm_EndEdit()
  283.                 call ppm_Inform(1,"Only same notes are able to merge!!!","OK")
  284.                 call ppm_SetEdit(boxid)
  285.                 call ppm_SelectBoxText()
  286.                 call ppm_Cut()
  287.                 call ppm_EndEdit()
  288.                 call ppm_TextIntoBox(boxid, btb)
  289.                 notenwert()
  290.             end
  291.             call ppm_Cut()
  292.             call ppm_UnBlock()
  293.             call ppm_EndEdit()
  294.             call ppm_TextIntoBox(curbox, newtxt)
  295.             boxposa=ppm_GetBoxPosition(curbox)
  296.             boxax=word(boxposa,1)
  297.             boxay=word(boxposa,2)
  298.             call ppm_SetLineWeight(3)
  299.             do forever
  300.               if balk == 0 then break
  301.               lineid=ppm_DrawLine(boxax+fax, boxay+fay, boxbx+fbx, boxby+fby)
  302.               call ppm_SetBoxOffset(lineid, -0.08, 0)
  303.               measure=ppm_GetBoxSize(lineid)
  304.               linex = word(measure,1)
  305.               liney = word(measure,2)
  306.               call ppm_SetBoxSize(lineid, linex - 0.155, liney)
  307.               if bta == 'x' then
  308.               do
  309.                 fay = fay + 0.2
  310.                 fby = fby + 0.2
  311.               end
  312.               if bta == 'X' then
  313.               do
  314.                 fay = fay - 0.2
  315.                 fby = fby - 0.2
  316.               end
  317.               balk = balk - 1
  318.             end
  319.             call ppm_ArtFirstBox(boxid)
  320.             call ppm_SetLineWeight(0.5)
  321.           end
  322.  
  323.  
  324.   /*point after note */
  325.  
  326.       when nw == 'pt' then
  327.           do
  328.             if notex < 3 then
  329.             do
  330.               notex = bakx
  331.               zz = zz - zdist
  332.               call ppm_SetSize(25)
  333.               box#id = ppm_CreateBox(notex+0.4, yw+zz+0.26-yv, 0.3, 0.9, 0)
  334.               call ppm_SetSize(20)
  335.               call ppm_TextIntoBox(box#id, 'd')
  336.             end
  337.             else
  338.             do
  339.               call ppm_SetSize(25)
  340.               box#id = ppm_CreateBox(notex-xw+0.4, yw+zz+0.26-yv, 0.3, 0.9, 0)
  341.               call ppm_SetSize(20)
  342.               call ppm_TextIntoBox(box#id, 'd')
  343.             end
  344.              select
  345.                  when nn == '1' then
  346.                  do
  347.                   xw = xg
  348.                   notex = notex+xw
  349.                  end
  350.                  when nn == '2' then
  351.                  do
  352.                   xw = xg/2
  353.                   notex = notex+xw
  354.                  end
  355.                  when nn == '4' then
  356.                  do
  357.                   xw = xg/4
  358.                   notex = notex+xw
  359.                  end
  360.                  when nn == '8' then
  361.                  do
  362.                   xw = xg/8
  363.                   notex = notex+xw
  364.                  end
  365.                  when nn == '16' then
  366.                  do
  367.                   xw  = xg/16
  368.                   notex = notex+xw
  369.                  end
  370.                  when nn == 'l' then
  371.                  do
  372.                   xw  = 0.2
  373.                   notex = notex+xw
  374.                  end
  375.                  otherwise
  376.                   do
  377.                    call ppm_ClearStatus()
  378.                    exit_msg("There was an error")
  379.                   end
  380.              end
  381.            if notex >=18.7 then
  382.                do
  383.                  notex = (2+(vz*0.175))
  384.                  zz = zz + zdist
  385.                end
  386.            return
  387.           end
  388.  
  389.       when nw == 'PT' then
  390.           do
  391.             if notex < 3 then
  392.             do
  393.               notex = bakx
  394.               zz = zz - zdist
  395.               call ppm_SetSize(25)
  396.               box#id = ppm_CreateBox(notex+0.4, yw+zz+0.26-yv, 0.3, 0.9, 0)
  397.               call ppm_SetSize(20)
  398.               call ppm_TextIntoBox(box#id, 'd')
  399.             end
  400.             else
  401.             do
  402.               call ppm_SetSize(25)
  403.               box#id = ppm_CreateBox(notex-xw+0.4, yw+zz+0.26-yv, 0.3, 0.9, 0)
  404.               call ppm_SetSize(20)
  405.               call ppm_TextIntoBox(box#id, 'd')
  406.             end
  407.            select
  408.                when nn == '1' then
  409.                 do
  410.                  xw = xg
  411.                  notex = notex+xw
  412.                 end
  413.                when nn == '2' then
  414.                 do
  415.                  xw = xg/2
  416.                  notex = notex+xw
  417.                 end
  418.                when nn == '4' then
  419.                 do
  420.                  xw = xg/4
  421.                  notex = notex+xw
  422.                 end
  423.                when nn == '8' then
  424.                 do
  425.                  xw = xg/8
  426.                  notex = notex+xw
  427.                 end
  428.                when nn == '16' then
  429.                 do
  430.                  xw  = xg/16
  431.                  notex = notex+xw
  432.                 end
  433.                when nn == 'l' then
  434.                 do
  435.                  xw  = 0.2
  436.                  notex = notex+xw
  437.                 end
  438.                otherwise
  439.                do
  440.                 call ppm_ClearStatus()
  441.                 exit_msg("There was an error")
  442.                end
  443.            end
  444.            if notex >=18.7 then
  445.              do
  446.                notex = (2+(vz*0.175))
  447.                zz = zz + zdist
  448.              end
  449.            return
  450.           end
  451.  
  452.  
  453.       /* barline */
  454.       when nw == 'l' then
  455.           do
  456.            call ppm_SetLineWeight(0.25)
  457.            call ppm_DrawLine(notex, 2+zz+zdist2, notex, zdist2+2.8+zz)
  458.            notex = notex+0.2
  459.            return
  460.           end
  461.  
  462.  
  463.       when nw == 'p' | when nw == 'P' then
  464.       do
  465. pausenwert:
  466.         x = notex
  467.         select
  468.             when nn == '1' then do
  469.  
  470.                 y = zdist2+2.29+zz
  471.                 call ppm_SetLineWeight(4)
  472.                 call ppm_DrawLine(x, y, x+0.4, y)
  473.                 call ppm_SetLineWeight(0.25)
  474.                 xw = xg
  475.                 notex = notex+xw
  476.             end
  477.  
  478.             when nn == '2' then do
  479.  
  480.                 y = zdist2+2.33+zz
  481.                 call ppm_SetLineWeight(4)
  482.                 call ppm_DrawLine(x, y, x+0.4, y)
  483.                 call ppm_SetLineWeight(0.25)
  484.                 xw = xg/2
  485.                 notex = notex+xw
  486.             end
  487.  
  488.             when nn == '4' then do
  489.  
  490.                 y = zdist2+2.07+zz
  491.                 Pbox = ppm_CreateBox(x, y, 0.59, 0.86, 0)
  492.                 boxnm = ppm_DocNextBox(Pbox)
  493.                 call ppm_DeleteContents(boxnm)
  494.                 call ppm_ImportGraphic(boxnm, 'Genies:note_pause/quarterpause', pause)
  495.                 xw = xg/4
  496.                 notex = notex+xw
  497.             end
  498.  
  499.             when nn == '8' then do
  500.  
  501.                 y = zdist2+2.21+zz
  502.                 Pbox = ppm_CreateBox(x, y, 0.27, 0.42, 0)
  503.                 boxnm = ppm_DocNextBox(Pbox)
  504.                 call ppm_DeleteContents(boxnm)
  505.                 call ppm_ImportGraphic(boxnm, 'Genies:note_pause/eighthpause', pause)
  506.                 xw = xg/8
  507.                 notex = notex+xw
  508.             end
  509.  
  510.             when nn == '16' then do
  511.  
  512.                 y = zdist2+2.21+zz
  513.                 Pbox = ppm_CreateBox(x, y, 0.27, 0.42, 0)
  514.                 boxnm = ppm_DocNextBox(Pbox)
  515.                 call ppm_DeleteContents(boxnm)
  516.                 call ppm_ImportGraphic(boxnm, 'Genies:note_pause/sixteenthpause', pause)
  517.                 xw = xg/16
  518.                 notex = notex+xw
  519.             end
  520.         otherwise
  521.                do
  522.                 call ppm_ClearStatus()
  523.                 exit_msg("There was an error")
  524.                end
  525.         end
  526.         if notex >=18.7 then
  527.           do
  528.             notex = (2+(vz*0.175))
  529.             zz = zz + zdist
  530.           end
  531.         return
  532.       end
  533.  
  534.     /* spaces */
  535.  
  536.       when nw == 'c' then
  537.         do
  538.            select
  539.                when nn == '1' then
  540.                do
  541.                 xw = xg
  542.                 notex = notex+xw
  543.                end
  544.                when nn == '2' then
  545.                do
  546.                 xw = xg/2
  547.                 notex = notex+xw
  548.                end
  549.                when nn == '4' then
  550.                do
  551.                 xw = xg/4
  552.                 notex = notex+xw
  553.                end
  554.                when nn == '8' then
  555.                do
  556.                 xw = xg/8
  557.                 notex = notex+xw
  558.                end
  559.                when nn == '16' then
  560.                do
  561.                 xw  = xg/16
  562.                 notex = notex+xw
  563.                end
  564.                when nn == 'l' then
  565.                do
  566.                 xw  = 0.2
  567.                 notex = notex+xw
  568.                end
  569.                when nn == 0 then do
  570.                end
  571.                otherwise
  572.                do
  573.                 call ppm_ClearStatus()
  574.                 exit_msg("There was an error")
  575.                end
  576.            end
  577.            if notex >=18.7 then
  578.              do
  579.                notex = (2+(vz*0.175))
  580.                zz = zz + zdist
  581.              end
  582.            return
  583.         end
  584.       otherwise
  585.                do
  586.                 call ppm_ClearStatus()
  587.                 exit_msg("There was an error")
  588.                end
  589.     end
  590.  
  591.         /* y-distance of the notes - notestems to up */
  592.  
  593.     call ppm_SetLineWeight(0.25)
  594.  
  595.     select
  596.         when nn=='g#3'  then
  597.         do
  598.             yw = 0.745 + zdist2
  599.             box#id = ppm_CreateBox(notex-0.22, yw+zz+0.32, 0.35, 0.75, 0)
  600.             call ppm_SetSize(20)
  601.             call ppm_TextIntoBox(box#id, 's')
  602.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  603.             call ppm_DrawLine(notex, zz+zdist2+1.6, (notex+0.4), zz+zdist2+1.6)
  604.             call ppm_DrawLine(notex, zz+zdist2+1.4, (notex+0.4), zz+zdist2+1.4)
  605.         end
  606.  
  607.         when nn=='g3'  then
  608.         do
  609.             yw = 0.745 + zdist2
  610.             if al == 'n' then call auflhoch()
  611.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  612.             call ppm_DrawLine(notex, zz+zdist2+1.6, (notex+0.4), zz+zdist2+1.6)
  613.             call ppm_DrawLine(notex, zz+zdist2+1.4, (notex+0.4), zz+zdist2+1.4)
  614.         end
  615.  
  616.         when nn=='gb3' then
  617.         do
  618.             yw = 0.745 + zdist2
  619.             box#id = ppm_CreateBox(notex-0.22, yw+zz+0.21, 0.35, 0.75, 0)
  620.             call ppm_SetSize(20)
  621.             call ppm_TextIntoBox(box#id, 'f')
  622.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  623.             call ppm_DrawLine(notex, zz+zdist2+1.6, (notex+0.4), zz+zdist2+1.6)
  624.             call ppm_DrawLine(notex, zz+zdist2+1.4, (notex+0.4), zz+zdist2+1.4)
  625.         end
  626.  
  627.         when nn=='f#3'  then
  628.         do
  629.             yw = 0.845 + zdist2
  630.             box#id = ppm_CreateBox(notex-0.22, yw+zz+0.32, 0.35, 0.75, 0)
  631.             call ppm_SetSize(20)
  632.             call ppm_TextIntoBox(box#id, 's')
  633.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  634.             call ppm_DrawLine(notex, zz+zdist2+1.6, (notex+0.4), zz+zdist2+1.6)
  635.         end
  636.  
  637.         when nn=='f3'  then
  638.         do
  639.             yw = 0.845 + zdist2
  640.             if al == 'n' then call auflhoch()
  641.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  642.             call ppm_DrawLine(notex, zz+zdist2+1.6, (notex+0.4), zz+zdist2+1.6)
  643.         end
  644.  
  645.         when nn=='e#3'  then
  646.         do
  647.             yw = 0.945 + zdist2
  648.             box#id = ppm_CreateBox(notex-0.22, yw+zz+0.32, 0.35, 0.75, 0)
  649.             call ppm_SetSize(20)
  650.             call ppm_TextIntoBox(box#id, 's')
  651.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  652.             call ppm_DrawLine(notex, zz+zdist2+1.6, (notex+0.4), zz+zdist2+1.6)
  653.         end
  654.  
  655.         when nn=='e3'  then
  656.         do
  657.             yw = 0.945 + zdist2
  658.             if al == 'n' then call auflhoch()
  659.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  660.             call ppm_DrawLine(notex, zz+zdist2+1.6, (notex+0.4), zz+zdist2+1.6)
  661.         end
  662.  
  663.         when nn=='eb3' then
  664.         do
  665.             yw = 0.945 + zdist2
  666.             box#id = ppm_CreateBox(notex-0.22, yw+zz+0.21, 0.35, 0.75, 0)
  667.             call ppm_SetSize(20)
  668.             call ppm_TextIntoBox(box#id, 'f')
  669.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  670.             call ppm_DrawLine(notex, zz+zdist2+1.6, (notex+0.4), zz+zdist2+1.6)
  671.         end
  672.  
  673.         when nn=='d#3'  then
  674.         do
  675.             yw = 1.045 + zdist2
  676.             box#id = ppm_CreateBox(notex-0.22, yw+zz+0.32, 0.35, 0.75, 0)
  677.             call ppm_SetSize(20)
  678.             call ppm_TextIntoBox(box#id, 's')
  679.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  680.         end
  681.  
  682.         when nn=='d3' then
  683.         do
  684.             yw = 1.045 + zdist2
  685.             if al == 'n' then call auflhoch()
  686.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  687.         end
  688.  
  689.         when nn=='db3'    then
  690.         do
  691.             yw = 1.045 + zdist2
  692.             box#id = ppm_CreateBox(notex-0.22, yw+zz+0.21, 0.35, 0.75, 0)
  693.             call ppm_SetSize(20)
  694.             call ppm_TextIntoBox(box#id, 'f')
  695.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  696.         end
  697.  
  698.         when nn=='c#3'    then
  699.         do
  700.             yw = 1.145 + zdist2
  701.             box#id = ppm_CreateBox(notex-0.22, yw+zz+0.32, 0.35, 0.75, 0)
  702.             call ppm_SetSize(20)
  703.             call ppm_TextIntoBox(box#id, 's')
  704.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  705.         end
  706.  
  707.         when nn=='c3'     then
  708.         do
  709.             yw = 1.145 + zdist2
  710.             if al == 'n' then call auflhoch()
  711.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  712.         end
  713.  
  714.         when nn=='b2'     then
  715.         do
  716.             yw = 1.245 + zdist2
  717.             if al == 'n' then call auflhoch()
  718.         end
  719.         when nn=='bb2'     then
  720.         do
  721.             yw = 1.245 + zdist2
  722.             box#id = ppm_CreateBox(notex-0.22, yw+zz+0.21, 0.35, 0.75, 0)
  723.             call ppm_SetSize(20)
  724.             call ppm_TextIntoBox(box#id, 'f')
  725.         end
  726.  
  727.         when nn=='a#2'    then
  728.         do
  729.             yw = 1.345 + zdist2
  730.             box#id = ppm_CreateBox(notex-0.22, yw+zz+0.32, 0.35, 0.75, 0)
  731.             call ppm_SetSize(20)
  732.             call ppm_TextIntoBox(box#id, 's')
  733.         end
  734.  
  735.         when nn=='a2'     then
  736.         do
  737.             yw = 1.345 + zdist2
  738.             if al == 'n' then call auflhoch()
  739.         end
  740.         when nn=='ab2'    then
  741.         do
  742.             yw = 1.345 + zdist2
  743.             box#id = ppm_CreateBox(notex-0.22, yw+zz+0.21, 0.35, 0.75, 0)
  744.             call ppm_SetSize(20)
  745.             call ppm_TextIntoBox(box#id, 'f')
  746.         end
  747.  
  748.         when nn=='g#2'    then
  749.         do
  750.             yw = 1.445 + zdist2
  751.             box#id = ppm_CreateBox(notex-0.22, yw+zz+0.32, 0.35, 0.75, 0)
  752.             call ppm_SetSize(20)
  753.             call ppm_TextIntoBox(box#id, 's')
  754.         end
  755.  
  756.         when nn=='g2'     then
  757.         do
  758.             yw = 1.445 + zdist2
  759.             if al == 'n' then call auflhoch()
  760.         end
  761.         when nn=='gb2'    then
  762.         do
  763.             yw = 1.445 + zdist2
  764.             box#id = ppm_CreateBox(notex-0.22, yw+zz+0.21, 0.35, 0.75, 0)
  765.             call ppm_SetSize(20)
  766.             call ppm_TextIntoBox(box#id, 'f')
  767.         end
  768.  
  769.         when nn=='f#2'    then
  770.         do
  771.             yw = 1.545 + zdist2
  772.             box#id = ppm_CreateBox(notex-0.22, yw+zz+0.32, 0.35, 0.75, 0)
  773.             call ppm_SetSize(20)
  774.             call ppm_TextIntoBox(box#id, 's')
  775.         end
  776.  
  777.         when nn=='f2' then
  778.         do
  779.             yw = 1.545 + zdist2
  780.             if al == 'n' then call auflhoch()
  781.         end
  782.         when nn=='e#2'  then
  783.         do
  784.             yw = 1.645 + zdist2
  785.             box#id = ppm_CreateBox(notex-0.22, yw+zz+0.32, 0.35, 0.75, 0)
  786.             call ppm_SetSize(20)
  787.             call ppm_TextIntoBox(box#id, 's')
  788.         end
  789.         when nn=='e2'     then
  790.         do
  791.             yw = 1.645 + zdist2
  792.             if al == 'n' then call auflhoch()
  793.         end
  794.         when nn=='eb2'    then
  795.         do
  796.             yw = 1.645 + zdist2
  797.             box#id = ppm_CreateBox(notex-0.22, yw+zz+0.21, 0.35, 0.75, 0)
  798.             call ppm_SetSize(20)
  799.             call ppm_TextIntoBox(box#id, 'f')
  800.         end
  801.  
  802.         when nn=='d#2'    then
  803.         do
  804.             yw = 1.745 + zdist2
  805.             box#id = ppm_CreateBox(notex-0.22, yw+zz+0.32, 0.35, 0.75, 0)
  806.             call ppm_SetSize(20)
  807.             call ppm_TextIntoBox(box#id, 's')
  808.         end
  809.  
  810.         when nn=='d2'     then
  811.         do
  812.             yw = 1.745 + zdist2
  813.             if al == 'n' then call auflhoch()
  814.         end
  815.         when nn=='db2'    then
  816.         do
  817.             yw = 1.745 + zdist2
  818.             box#id = ppm_CreateBox(notex-0.22, yw+zz+0.21, 0.35, 0.75, 0)
  819.             call ppm_SetSize(20)
  820.             call ppm_TextIntoBox(box#id, 'f')
  821.         end
  822.  
  823.         when nn=='c#2'    then
  824.         do
  825.             yw = 1.845 + zdist2
  826.             box#id = ppm_CreateBox(notex-0.22, yw+zz+0.32, 0.35, 0.75, 0)
  827.             call ppm_SetSize(20)
  828.             call ppm_TextIntoBox(box#id, 's')
  829.         end
  830.  
  831.         when nn=='c2'     then
  832.         do
  833.             yw = 1.845 + zdist2
  834.             if al == 'n' then call auflhoch()
  835.         end
  836.         when nn=='b1'     then
  837.         do
  838.             yw = 1.945 + zdist2
  839.             if al == 'n' then call auflhoch()
  840.         end
  841.         when nn=='bb1'     then
  842.         do
  843.             yw = 1.945 + zdist2
  844.             box#id = ppm_CreateBox(notex-0.22, yw+zz+0.21, 0.35, 0.75, 0)
  845.             call ppm_SetSize(20)
  846.             call ppm_TextIntoBox(box#id, 'f')
  847.         end
  848.  
  849.         when nn=='a#1'    then
  850.         do
  851.             yw = 2.045 + zdist2
  852.             box#id = ppm_CreateBox(notex-0.22, yw+zz+0.32, 0.35, 0.75, 0)
  853.             call ppm_SetSize(20)
  854.             call ppm_TextIntoBox(box#id, 's')
  855.         end
  856.  
  857.         when nn=='a1'     then
  858.         do
  859.             yw = 2.045 + zdist2
  860.             if al == 'n' then call auflhoch()
  861.         end
  862.         when nn=='ab1'    then
  863.         do
  864.             yw = 2.045 + zdist2
  865.             box#id = ppm_CreateBox(notex-0.22, yw+zz+0.21, 0.35, 0.75, 0)
  866.             call ppm_SetSize(20)
  867.             call ppm_TextIntoBox(box#id, 'f')
  868.         end
  869.  
  870.         when nn=='g#1'    then
  871.         do
  872.             yw = 2.145 + zdist2
  873.             box#id = ppm_CreateBox(notex-0.22, yw+zz+0.32, 0.35, 0.75, 0)
  874.             call ppm_SetSize(20)
  875.             call ppm_TextIntoBox(box#id, 's')
  876.         end
  877.  
  878.         when nn=='g1'     then
  879.         do
  880.             yw = 2.145 + zdist2
  881.             if al == 'n' then call auflhoch()
  882.         end
  883.         when nn=='gb1'    then
  884.         do
  885.             yw = 2.145 + zdist2
  886.             box#id = ppm_CreateBox(notex-0.22, yw+zz+0.21, 0.35, 0.75, 0)
  887.             call ppm_SetSize(20)
  888.             call ppm_TextIntoBox(box#id, 'f')
  889.         end
  890.  
  891.         when nn=='f#1'    then
  892.         do
  893.             yw = 2.245 + zdist2
  894.             box#id = ppm_CreateBox(notex-0.22, yw+zz+0.32, 0.35, 0.75, 0)
  895.             call ppm_SetSize(20)
  896.             call ppm_TextIntoBox(box#id, 's')
  897.         end
  898.  
  899.         when nn=='f1'     then
  900.         do
  901.             yw = 2.245 + zdist2
  902.             if al == 'n' then call auflhoch()
  903.         end
  904.  
  905.         when nn=='e#1'  then
  906.         do
  907.             yw = 2.345 + zdist2
  908.             box#id = ppm_CreateBox(notex-0.22, yw+zz+0.32, 0.35, 0.75, 0)
  909.             call ppm_SetSize(20)
  910.             call ppm_TextIntoBox(box#id, 's')
  911.             call ppm_DrawLine(notex, zz+zdist2+3, (notex+0.4), zz+zdist2+3)
  912.         end
  913.         when nn=='e1' then
  914.         do
  915.             yw = 2.345 + zdist2
  916.             if al == 'n' then call auflhoch()
  917.             call ppm_DrawLine(notex, zz+zdist2+3, (notex+0.4), zz+zdist2+3)
  918.         end
  919.  
  920.         when nn=='eb1'  then
  921.         do
  922.             yw = 2.345 + zdist2
  923.             box#id = ppm_CreateBox(notex-0.22, yw+zz+0.21, 0.35, 0.75, 0)
  924.             call ppm_SetSize(20)
  925.             call ppm_TextIntoBox(box#id, 'f')
  926.             call ppm_DrawLine(notex, zz+zdist2+3, (notex+0.4), zz+zdist2+3)
  927.         end
  928.  
  929.         when nn=='d#1'  then
  930.         do
  931.             yw = 2.445 + zdist2
  932.             box#id = ppm_CreateBox(notex-0.22, yw+zz+0.32, 0.35, 0.75, 0)
  933.             call ppm_SetSize(20)
  934.             call ppm_TextIntoBox(box#id, 's')
  935.             call ppm_DrawLine(notex, zz+zdist2+3, (notex+0.4), zz+zdist2+3)
  936.         end
  937.  
  938.         when nn=='d1'  then
  939.         do
  940.             yw = 2.445 + zdist2
  941.             if al == 'n' then call auflhoch()
  942.             call ppm_DrawLine(notex, zz+zdist2+3, (notex+0.4), zz+zdist2+3)
  943.         end
  944.  
  945.         when nn=='db1' then
  946.         do
  947.             yw = 2.445 + zdist2
  948.             box#id = ppm_CreateBox(notex-0.22, yw+zz+0.21, 0.35, 0.75, 0)
  949.             call ppm_SetSize(20)
  950.             call ppm_TextIntoBox(box#id, 'f')
  951.             call ppm_DrawLine(notex, zz+zdist2+3, (notex+0.4), zz+zdist2+3)
  952.         end
  953.  
  954.         when nn=='c#1'  then
  955.         do
  956.             yw = 2.545 + zdist2
  957.             box#id = ppm_CreateBox(notex-0.22, yw+zz+0.32, 0.35, 0.75, 0)
  958.             call ppm_SetSize(20)
  959.             call ppm_TextIntoBox(box#id, 's')
  960.             call ppm_DrawLine(notex, zz+zdist2+3, (notex+0.4), zz+zdist2+3)
  961.             call ppm_DrawLine(notex, zz+zdist2+3.2, (notex+0.4), zz+zdist2+3.2)
  962.         end
  963.  
  964.         when nn=='c1'  then
  965.         do
  966.             yw = 2.545 + zdist2
  967.             if al == 'n' then call auflhoch()
  968.             call ppm_DrawLine(notex, zz+zdist2+3, (notex+0.4), zz+zdist2+3)
  969.             call ppm_DrawLine(notex, zz+zdist2+3.2, (notex+0.4), zz+zdist2+3.2)
  970.         end
  971.  
  972.     /* y-distance of the notes - notenstems to down */
  973.  
  974.         when nn=='G#3'  then
  975.         do
  976.             yw = 1.22 + zdist2
  977.             box#id = ppm_CreateBox(notex-0.24, yw+zz-0.15, 0.35, 0.75, 0)
  978.             call ppm_SetSize(20)
  979.             call ppm_TextIntoBox(box#id, 's')
  980.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  981.             call ppm_DrawLine(notex, zz+zdist2+1.6, (notex+0.4), zz+zdist2+1.6)
  982.             call ppm_DrawLine(notex, zz+zdist2+1.4, (notex+0.4), zz+zdist2+1.4)
  983.         end
  984.  
  985.         when nn=='G3'  then
  986.         do
  987.             yw = 1.22 + zdist2
  988.             if al == 'n' then call aufltief()
  989.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  990.             call ppm_DrawLine(notex, zz+zdist2+1.6, (notex+0.4), zz+zdist2+1.6)
  991.             call ppm_DrawLine(notex, zz+zdist2+1.4, (notex+0.4), zz+zdist2+1.4)
  992.         end
  993.  
  994.         when nn=='Gb3' then
  995.         do
  996.             yw = 1.22 + zdist2
  997.             box#id = ppm_CreateBox(notex-0.24, yw+zz-0.27, 0.35, 0.75, 0)
  998.             call ppm_SetSize(20)
  999.             call ppm_TextIntoBox(box#id, 'f')
  1000.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  1001.             call ppm_DrawLine(notex, zz+zdist2+1.6, (notex+0.4), zz+zdist2+1.6)
  1002.             call ppm_DrawLine(notex, zz+zdist2+1.4, (notex+0.4), zz+zdist2+1.4)
  1003.         end
  1004.  
  1005.         when nn=='F#3'  then
  1006.         do
  1007.             yw = 1.32 + zdist2
  1008.             box#id = ppm_CreateBox(notex-0.24, yw+zz-0.15, 0.35, 0.75, 0)
  1009.             call ppm_SetSize(20)
  1010.             call ppm_TextIntoBox(box#id, 's')
  1011.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  1012.             call ppm_DrawLine(notex, zz+zdist2+1.6, (notex+0.4), zz+zdist2+1.6)
  1013.         end
  1014.  
  1015.         when nn=='F3'  then
  1016.         do
  1017.             yw = 1.32 + zdist2
  1018.             if al == 'n' then call aufltief()
  1019.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  1020.             call ppm_DrawLine(notex, zz+zdist2+1.6, (notex+0.4), zz+zdist2+1.6)
  1021.         end
  1022.  
  1023.         when nn=='E#3'  then
  1024.         do
  1025.             yw = 1.42 + zdist2
  1026.             box#id = ppm_CreateBox(notex-0.24, yw+zz-0.15, 0.35, 0.75, 0)
  1027.             call ppm_SetSize(20)
  1028.             call ppm_TextIntoBox(box#id, 's')
  1029.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  1030.             call ppm_DrawLine(notex, zz+zdist2+1.6, (notex+0.4), zz+zdist2+1.6)
  1031.         end
  1032.  
  1033.         when nn=='E3'  then
  1034.         do
  1035.             yw = 1.42 + zdist2
  1036.             if al == 'n' then call aufltief()
  1037.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  1038.             call ppm_DrawLine(notex, zz+zdist2+1.6, (notex+0.4), zz+zdist2+1.6)
  1039.         end
  1040.  
  1041.         when nn=='Eb3' then
  1042.         do
  1043.             yw = 1.42 + zdist2
  1044.             box#id = ppm_CreateBox(notex-0.24, yw+zz-0.27, 0.35, 0.75, 0)
  1045.             call ppm_SetSize(20)
  1046.             call ppm_TextIntoBox(box#id, 'f')
  1047.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  1048.             call ppm_DrawLine(notex, zz+zdist2+1.6, (notex+0.4), zz+zdist2+1.6)
  1049.         end
  1050.  
  1051.         when nn=='D#3'  then
  1052.         do
  1053.             yw = 1.52 + zdist2
  1054.             box#id = ppm_CreateBox(notex-0.24, yw+zz-0.15, 0.35, 0.75, 0)
  1055.             call ppm_SetSize(20)
  1056.             call ppm_TextIntoBox(box#id, 's')
  1057.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  1058.         end
  1059.  
  1060.         when nn=='D3' then
  1061.         do
  1062.             yw = 1.52 + zdist2
  1063.             if al == 'n' then call aufltief()
  1064.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  1065.         end
  1066.  
  1067.         when nn=='Db3' then
  1068.         do
  1069.             yw = 1.52 + zdist2
  1070.             box#id = ppm_CreateBox(notex-0.24, yw+zz-0.27, 0.35, 0.75, 0)
  1071.             call ppm_SetSize(20)
  1072.             call ppm_TextIntoBox(box#id, 'f')
  1073.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  1074.         end
  1075.  
  1076.         when nn=='C#3'    then
  1077.         do
  1078.             yw = 1.62 + zdist2
  1079.             box#id = ppm_CreateBox(notex-0.24, yw+zz-0.15, 0.35, 0.75, 0)
  1080.             call ppm_SetSize(20)
  1081.             call ppm_TextIntoBox(box#id, 's')
  1082.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  1083.         end
  1084.  
  1085.         when nn=='C3'     then
  1086.         do
  1087.             yw = 1.62 + zdist2
  1088.             if al == 'n' then call aufltief()
  1089.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  1090.         end
  1091.  
  1092.         when nn=='B2'     then
  1093.         do
  1094.             yw = 1.72 + zdist2
  1095.             if al == 'n' then call aufltief()
  1096.         end
  1097.         when nn=='Bb2'     then
  1098.         do
  1099.             yw = 1.72 + zdist2
  1100.             box#id = ppm_CreateBox(notex-0.24, yw+zz-0.27, 0.35, 0.75, 0)
  1101.             call ppm_SetSize(20)
  1102.             call ppm_TextIntoBox(box#id, 'f')
  1103.         end
  1104.  
  1105.         when nn=='A#2'    then
  1106.         do
  1107.             yw = 1.82 + zdist2
  1108.             box#id = ppm_CreateBox(notex-0.24, yw+zz-0.15, 0.35, 0.75, 0)
  1109.             call ppm_SetSize(20)
  1110.             call ppm_TextIntoBox(box#id, 's')
  1111.         end
  1112.  
  1113.         when nn=='A2'     then
  1114.         do
  1115.             yw = 1.82 + zdist2
  1116.             if al == 'n' then call aufltief()
  1117.         end
  1118.         when nn=='AB2'    then nn = 'Ab2'
  1119.         when nn=='Ab2'    then
  1120.         do
  1121.             yw = 1.82 + zdist2
  1122.             box#id = ppm_CreateBox(notex-0.24, yw+zz-0.27, 0.35, 0.75, 0)
  1123.             call ppm_SetSize(20)
  1124.             call ppm_TextIntoBox(box#id, 'f')
  1125.         end
  1126.  
  1127.         when nn=='G#2'    then
  1128.         do
  1129.             yw = 1.92 + zdist2
  1130.             box#id = ppm_CreateBox(notex-0.24, yw+zz-0.15, 0.35, 0.75, 0)
  1131.             call ppm_SetSize(20)
  1132.             call ppm_TextIntoBox(box#id, 's')
  1133.         end
  1134.  
  1135.         when nn=='G2'     then
  1136.         do
  1137.             yw = 1.92 + zdist2
  1138.             if al == 'n' then call aufltief()
  1139.         end
  1140.         when nn=='Gb2'    then
  1141.         do
  1142.             yw = 1.92 + zdist2
  1143.             box#id = ppm_CreateBox(notex-0.24, yw+zz-0.27, 0.35, 0.75, 0)
  1144.             call ppm_SetSize(20)
  1145.             call ppm_TextIntoBox(box#id, 'f')
  1146.         end
  1147.  
  1148.         when nn=='F#2'    then
  1149.         do
  1150.             yw = 2.02 + zdist2
  1151.             box#id = ppm_CreateBox(notex-0.24, yw+zz-0.15, 0.35, 0.75, 0)
  1152.             call ppm_SetSize(20)
  1153.             call ppm_TextIntoBox(box#id, 's')
  1154.         end
  1155.  
  1156.         when nn=='F2'     then
  1157.         do
  1158.             yw = 2.02 + zdist2
  1159.             if al == 'n' then call aufltief()
  1160.         end
  1161.         when nn=='E#2'    then
  1162.         do
  1163.             yw = 2.12 + zdist2
  1164.             box#id = ppm_CreateBox(notex-0.24, yw+zz-0.15, 0.35, 0.75, 0)
  1165.             call ppm_SetSize(20)
  1166.             call ppm_TextIntoBox(box#id, 's')
  1167.         end
  1168.  
  1169.         when nn=='E2'     then
  1170.         do
  1171.             yw = 2.12 + zdist2
  1172.             if al == 'n' then call aufltief()
  1173.         end
  1174.         when nn=='Eb2'    then
  1175.         do
  1176.             yw = 2.12 + zdist2
  1177.             box#id = ppm_CreateBox(notex-0.24, yw+zz-0.27, 0.35, 0.75, 0)
  1178.             call ppm_SetSize(20)
  1179.             call ppm_TextIntoBox(box#id, 'f')
  1180.         end
  1181.  
  1182.         when nn=='D#2'    then
  1183.         do
  1184.             yw = 2.22 + zdist2
  1185.             box#id = ppm_CreateBox(notex-0.24, yw+zz-0.15, 0.35, 0.75, 0)
  1186.             call ppm_SetSize(20)
  1187.             call ppm_TextIntoBox(box#id, 's')
  1188.         end
  1189.  
  1190.         when nn=='D2'     then
  1191.         do
  1192.             yw = 2.22 + zdist2
  1193.             if al == 'n' then call aufltief()
  1194.         end
  1195.         when nn=='Db2'    then
  1196.         do
  1197.             yw = 2.22 + zdist2
  1198.             box#id = ppm_CreateBox(notex-0.24, yw+zz-0.27, 0.35, 0.75, 0)
  1199.             call ppm_SetSize(20)
  1200.             call ppm_TextIntoBox(box#id, 'f')
  1201.         end
  1202.  
  1203.         when nn=='C#2'    then
  1204.         do
  1205.             yw = 2.32 + zdist2
  1206.             box#id = ppm_CreateBox(notex-0.24, yw+zz-0.15, 0.35, 0.75, 0)
  1207.             call ppm_SetSize(20)
  1208.             call ppm_TextIntoBox(box#id, 's')
  1209.         end
  1210.  
  1211.         when nn=='C2'     then
  1212.         do
  1213.             yw = 2.32 + zdist2
  1214.             if al == 'n' then call aufltief()
  1215.         end
  1216.         when nn=='B1'     then yw = 2.42 + zdist2
  1217.         when nn=='Bb1'     then
  1218.         do
  1219.             yw = 2.42 + zdist2
  1220.             box#id = ppm_CreateBox(notex-0.24, yw+zz-0.27, 0.35, 0.75, 0)
  1221.             call ppm_SetSize(20)
  1222.             call ppm_TextIntoBox(box#id, 'f')
  1223.         end
  1224.  
  1225.         when nn=='A#1'    then
  1226.         do
  1227.             yw = 2.52 + zdist2
  1228.             box#id = ppm_CreateBox(notex-0.24, yw+zz-0.15, 0.35, 0.75, 0)
  1229.             call ppm_SetSize(20)
  1230.             call ppm_TextIntoBox(box#id, 's')
  1231.         end
  1232.  
  1233.         when nn=='A1'     then
  1234.         do
  1235.             yw = 2.52 + zdist2
  1236.             if al == 'n' then call aufltief()
  1237.         end
  1238.         when nn=='Ab1'    then
  1239.         do
  1240.             yw = 2.52 + zdist2
  1241.             box#id = ppm_CreateBox(notex-0.24, yw+zz-0.27, 0.35, 0.75, 0)
  1242.             call ppm_SetSize(20)
  1243.             call ppm_TextIntoBox(box#id, 'f')
  1244.         end
  1245.  
  1246.         when nn=='G#1'    then
  1247.         do
  1248.             yw = 2.62 + zdist2
  1249.             box#id = ppm_CreateBox(notex-0.24, yw+zz-0.15, 0.35, 0.75, 0)
  1250.             call ppm_SetSize(20)
  1251.             call ppm_TextIntoBox(box#id, 's')
  1252.         end
  1253.  
  1254.         when nn=='G1'     then
  1255.         do
  1256.             yw = 2.62 + zdist2
  1257.             if al == 'n' then call aufltief()
  1258.         end
  1259.         when nn=='Gb1'    then
  1260.         do
  1261.             yw = 2.62 + zdist2
  1262.             box#id = ppm_CreateBox(notex-0.24, yw+zz-0.27, 0.35, 0.75, 0)
  1263.             call ppm_SetSize(20)
  1264.             call ppm_TextIntoBox(box#id, 'f')
  1265.         end
  1266.  
  1267.         when nn=='F#1'    then
  1268.         do
  1269.             yw = 2.72 + zdist2
  1270.             box#id = ppm_CreateBox(notex-0.24, yw+zz-0.15, 0.35, 0.75, 0)
  1271.             call ppm_SetSize(20)
  1272.             call ppm_TextIntoBox(box#id, 's')
  1273.         end
  1274.  
  1275.         when nn=='F1'     then
  1276.         do
  1277.             yw = 2.72 + zdist2
  1278.             if al == 'n' then call aufltief()
  1279.         end
  1280.  
  1281.         when nn=='E#1'    then
  1282.         do
  1283.             yw = 2.82 + zdist2
  1284.             box#id = ppm_CreateBox(notex-0.24, yw+zz-0.15, 0.35, 0.75, 0)
  1285.             call ppm_SetSize(20)
  1286.             call ppm_TextIntoBox(box#id, 's')
  1287.             call ppm_DrawLine(notex, zz+zdist2+3, (notex+0.4), zz+zdist2+3)
  1288.         end
  1289.  
  1290.         when nn=='E1' then
  1291.         do
  1292.             yw = 2.82 + zdist2
  1293.             if al == 'n' then call aufltief()
  1294.             call ppm_DrawLine(notex, zz+zdist2+3, (notex+0.4), zz+zdist2+3)
  1295.         end
  1296.  
  1297.         when nn=='Eb1'  then
  1298.         do
  1299.             yw = 2.82 + zdist2
  1300.             box#id = ppm_CreateBox(notex-0.24, yw+zz-0.27, 0.35, 0.75, 0)
  1301.             call ppm_SetSize(20)
  1302.             call ppm_TextIntoBox(box#id, 'f')
  1303.             call ppm_DrawLine(notex, zz+zdist2+3, (notex+0.4), zz+zdist2+3)
  1304.         end
  1305.  
  1306.         when nn=='D#1'  then
  1307.         do
  1308.             yw = 2.92 + zdist2
  1309.             box#id = ppm_CreateBox(notex-0.24, yw+zz-0.15, 0.35, 0.75, 0)
  1310.             call ppm_SetSize(20)
  1311.             call ppm_TextIntoBox(box#id, 's')
  1312.             call ppm_DrawLine(notex, zz+zdist2+3, (notex+0.4), zz+zdist2+3)
  1313.         end
  1314.  
  1315.         when nn=='D1'  then
  1316.         do
  1317.             yw = 2.92 + zdist2
  1318.             if al == 'n' then call aufltief()
  1319.             call ppm_DrawLine(notex, zz+zdist2+3, (notex+0.4), zz+zdist2+3)
  1320.         end
  1321.  
  1322.         when nn=='Db1' then
  1323.         do
  1324.             yw = 2.92 + zdist2
  1325.             box#id = ppm_CreateBox(notex-0.24, yw+zz-0.27, 0.35, 0.75, 0)
  1326.             call ppm_SetSize(20)
  1327.             call ppm_TextIntoBox(box#id, 'f')
  1328.             call ppm_DrawLine(notex, zz+zdist2+3, (notex+0.4), zz+zdist2+3)
  1329.         end
  1330.  
  1331.         when nn=='C#1'  then
  1332.         do
  1333.           yw = 3.02 + zdist2
  1334.             box#id = ppm_CreateBox(notex-0.24, yw+zz-0.15, 0.35, 0.75, 0)
  1335.             call ppm_SetSize(20)
  1336.             call ppm_TextIntoBox(box#id, 's')
  1337.           call ppm_DrawLine(notex, zz+zdist2+3, (notex+0.4), zz+zdist2+3)
  1338.           call ppm_DrawLine(notex, zz+zdist2+3.2, (notex+0.4), zz+zdist2+3.2)
  1339.         end
  1340.  
  1341.         when nn=='C1'  then
  1342.         do
  1343.           yw = 3.02 + zdist2
  1344.             if al == 'n' then call aufltief()
  1345.           call ppm_DrawLine(notex, zz+zdist2+3, (notex+0.4), zz+zdist2+3)
  1346.           call ppm_DrawLine(notex, zz+zdist2+3.2, (notex+0.4), zz+zdist2+3.2)
  1347.         end
  1348.         otherwise
  1349.                do
  1350.                 call ppm_ClearStatus()
  1351.                 exit_msg("There was an error")
  1352.                end
  1353.     end
  1354.  
  1355.         /* größe einer Notenbox */
  1356.  
  1357.         notewidht = 0.64
  1358.         noteheight = 0.97
  1359.  
  1360.  
  1361.         boxid = ppm_CreateBox(notex, yw+zz, notewidht, noteheight, 0)
  1362.         call ppm_SetSize(notepkt)
  1363.         call ppm_TextIntoBox(boxid, nw)
  1364.         bakx = notex
  1365.         notex = (notex + xw)
  1366.         if notex >=18.7 then
  1367.             do
  1368.               notex = (2+(vz*0.175))
  1369.               zz = zz + zdist
  1370.             end
  1371.      return
  1372. end
  1373. exit
  1374.  
  1375. auflhoch:
  1376. do
  1377.   Pbox = ppm_CreateBox(notex-0.34, yw+zz+0.07, 0.6, 1.2, 0)
  1378.   boxnm = ppm_DocNextBox(Pbox)
  1379.   call ppm_DeleteContents(boxnm)
  1380.   call ppm_ImportGraphic(boxnm, 'Genies:note_pause/naturalsng', Zeichen)
  1381.   return
  1382. end
  1383.  
  1384. aufltief:
  1385. do
  1386.   Pbox = ppm_CreateBox(notex-0.34, yw+zz-0.4, 0.6, 1.2, 0)
  1387.   boxnm = ppm_DocNextBox(Pbox)
  1388.   call ppm_DeleteContents(boxnm)
  1389.   call ppm_ImportGraphic(boxnm, 'Genies:note_pause/naturalsng', Zeichen)
  1390.   return
  1391. end
  1392.  
  1393. break_d:
  1394. break_e:
  1395. break_c:
  1396. halt:
  1397.     call exit_msg("User aborted Genie!")
  1398.  
  1399. exit_msg: procedure
  1400. do
  1401.     parse arg message
  1402.  
  1403.     if message ~= '' then
  1404.     call ppm_Inform(1,message,)
  1405.  
  1406.     call ppm_ClearStatus()
  1407.     call ppm_AutoUpdate(1)
  1408.     exit
  1409. end
  1410.